using System.Collections.Generic;
using GoldenBicycleCompany.Core;
using GoldenBicycleCompany.ApplicationServices.ViewModels;
using GoldenBicycleCompany.Core.QueryDtos;
 

namespace GoldenBicycleCompany.ApplicationServices
{
    public interface ICustomerManagementService
    {
        CustomerFormViewModel CreateFormViewModel();
        CustomerFormViewModel CreateFormViewModelFor(int customerId);
        CustomerFormViewModel CreateFormViewModelFor(Customer customer);
        Customer Get(int id);
        IList<Customer> GetAll();
        IList<CustomerDto> GetCustomerSummaries();
        ActionConfirmation SaveOrUpdate(Customer customer);
        ActionConfirmation UpdateWith(Customer customerFromForm, int idOfCustomerToUpdate);
        ActionConfirmation Delete(int id);
    }
}
